'use strict';
const titles = {
    index: '主页'
};
const glob = require('glob');  //glob插件允许你在路径选择上使用*号来代替
const pages = {};//读取到的page信息存放到这里面。
/**
 * glob使用同步的方式在 /src/pages/目录之下去去找入口文件vue单页的app.js，
 * 所有的app.js 将会排列成为数组，数组当中每一项对应着每一个app.js的路径。
 * chunk 这句表示app.js所在文件夹的名字，通过这个名字来生成多个单页程序的配置
 * 信息。
 * */
glob.sync('./src/pages/**/app.js').forEach(path => {
    const chunk = path.split('./src/pages/')[1].split('/app.js')[0];
    pages[chunk] = {
        entry: path,
        template: 'public/index.html',
        title: titles[chunk],
        chunks: ['chunk-vendors', 'chunk-common', chunk]
    }
});

/**
 * 输出page文件。
 * 这里有个bug不知道修复没有，当多页面多余5个的时候不能打包，在github上找到
 * 解决方案，
 * chainWebpack: config => config.plugins.delete('named-chunks')
 * 这一句！
 * */
module.exports = {
    pages,
    assetsDir: 'assets',
    /**
     * webpack chunks bug!!
     * issues on
     * https://github.com/vuejs/vue-cli/issues/1996#issuecomment-415022624
     *
     *  通过禁用named-chunks 插件可以正常打包
     * **/
    chainWebpack: config => config.plugins.delete('named-chunks')
};


